草庐IT

c++ - 复制 boost::shared_ptr

全部标签

c++ - 如何防止应用程序被执行?

我需要阻止应用程序在Windows机器上启动。最明显的方式(具有无限循环并使用EnumProcesses/OpenProcess/TerminateProcess)暗示目标应用程序/进程已经启动并且运行了一段时间。遗憾的是,重命名/编辑/修补/删除目标应用程序不是一种选择。 最佳答案 如果您运行的是Windows7或更高版本(或基于它的任何系统),那么您可以使用AppLocker功能:http://technet.microsoft.com/en-us/library/dd723686(v=ws.10).aspx

c++ - 是否有任何好的工具/框架来分析 C/C++ 应用程序的性能

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我是C/C++的新手,面临着我的程序运行速度非常慢的性能问题。我想找到减少代码整体执行时间的热点。在Windows中分析C/C++应用程序的最流行和最简单的方法是什么?使用MiniProler分析.NET应用程序是多么容易,这让我感到非常惊讶。.我们是否有任何类似的C/C++库,以最少的添加代码为我们提供高质量和可靠的结果?或者是否有任何类似于RedGat

c - 如何在读取前刷新串口?

我正在尝试让微Controller通过串行端口与WindowsPC通信。在我看来,Windows正在缓冲COM1上的输入,这样如果我停止两个程序的运行,然后仅重新启动Windows程序,它仍会接收微Controller程序先前运行的一些输出。打开COM1后,我可以在开始读取之前刷新其接收缓冲区吗?是否有函数调用来执行此操作? 最佳答案 我相信您正在寻找的函数是PurgeComm,您将打开端口时从CreateFile()获得的HANDLE传递给它。我不确定,但我相信每次打开时串口也会自动刷新。但是,更好的方法是使用ReadFile(或

c - 比较常量时在哪里可以使用&和==?有什么不同?

我想知道之间有什么区别:file.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY和:file.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY当我使用第一个时,我得到了更多文件。FILE_ATTRIBUTE_DIRECTORY是文件属性常量,file.dwFileAttributes是WindowsAPI中的WIN32_FIND_DATA结构成员。 最佳答案 规则很简单:当变量只能保存一个值时,您可以使用相等运算符==进行测试。当变量可以包含零个、一个或多个标志

Windows 文件共享 : What ACE AccessMask flags correspond to the different share permissions?

最近我尝试使用WMI创建一个共享并向用户授予读写权限。现在使用0x1(FILE_READ_DATA/FILE_LIST_DIRECTORY)和0x2(FILE_WRITE_DATA/FILE_ADD_FILE)不起作用。设置所有标志让我完全控制。我必须使用哪些标志分别设置读取、更改和完全控制共享权限? 最佳答案 我通过反复试验发现了以下内容:对于读取权限,您需要使用0x1200A9。这对应于以下标志:FILE_READ_DATA(file)orFILE_LIST_DIRECTORY(directory)1(0x1)FILE_READ

c++ - C 和 C++ 中 WINAPI 的区别

我正在从驱动程序读取数据。该驱动程序附带了有关如何基于该驱动程序开发应用程序的示例。这些例子是几年前写的。他们使用WINAPI和C。现在我将使用他们的一些头文件。它们定义了数据结构和各种其他内容。我尝试在C++中创建WINAPI并尝试链接到这些文件。但正如解释的here,inthelastanswer,我非常相信我的代码也有同样的问题。现在,我不能按照那里的建议去做。我的程序很长,我不能弄乱头文件。它们很复杂。我的选择是完全用C语言创建我的项目(我希望它能解决问题)。首先,我将文件.cppt0重命名为.c。(我什至不知道这两种编程语言之间的区别。到目前为止,它们的区别没有任何区别。)主

windows - 在 Windows 7 上使用 MinGW 编译 boost 之前如何构建 Boost.Build?

我正在运行Windows7EnterpriseSP1并尝试设置C++开发环境。我安装了MinGW,似乎可以自行正常工作。接下来,我需要安装boost……看来唯一好的选择是从源代码编译。(我没有看到任何官方Windows二进制文件。我发现了几个非官方的二进制文件,但它们往往比当前版本落后几个版本,而且不清楚它们是否得到维护。)所以我下载了tarball,解压它,从MinGW打开MSYSshell,转到tools/build/v2并运行bootstrap.sh-这失败了,bootstrap.log如下所示:######Using'gcc'toolset.###rm-rfbootstrapm

c++ - 通过 Windows API 函数替换对 AfxGetInstanceHandle() 的调用

SHELLEXECUTEINFOinfo;//Initializingstructinfo.cbSize=sizeof(info);info.fMask=SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_NO_UI;info.hwnd=NULL;info.lpVerb=_T("open");info.lpParameters=sParameters_p;info.lpDirectory=_T("");info.nShow=SW_SHOW;info.hInstApp=NULL;info.lpFile=sFileName_p;//Problemhere:info.

c - 缓冲区溢出时程序没有崩溃

我想从键盘读取一个字符串并存储在buf中。我设置了一个charbuf[6]数组,这个数组最多可以存储5个字符和\0。然后我输入123456789它包含11个字符和一个\0,程序仍然可以运行,但是如果我输入更长的字符串123456789123456789它会在运行时崩溃。这两个输入也超出了buf的范围,但是一个可以运行,另一个崩溃?这是我的代码:#include#include#includevoidread_str();intmain(){read_str();system("pause");return0;}voidread_str(){charbuf[6]={};scanf("%[

c - 多个窗口,单个托盘图标

我的目标是为我的应用程序的所有窗口使用一个图标。经过一番阅读,我的理解是创建托盘图标是通过Shell_NotifyIcon()实现的。此函数获取一个NOTIFYICONDATA结构,其中包含一个hWnd字段。这个HWND是系统用来通知相应窗口托盘图标事件的。这些事件由使用SetWindowLongPtr()在窗口上设置的WindowProc回调处理。因此我的问题是:单个图标如何通知我的应用程序的所有窗口单击鼠标左键?我可以使用不同的NOTIFYICONDATA结构多次Shell_NotifyIcon()吗?每次都有不同的hWnd,但具有相同的图标?如果注册创建托盘图标的原始窗口被破坏怎